function [ax,ph]=PolicyPlot(ax,State,Choice,LineStyle,LineWidth,SetupFlag)

if nargin<3
    error('Not enough input');
elseif nargin<4
    LineStyle       =   '-';
    LineWidth       =   2;
    SetupFlag       =   'on';
elseif nargin<5
    LineWidth       =   2; 
    SetupFlag       =   'on';
elseif nargin<6
    SetupFlag       =   'on';
end
ph  =   plot(ax,State,Choice,LineStyle,'linewidth',LineWidth);
if strcmp(SetupFlag,'on')
    exponent            =   floor(log(max(abs(Choice)))/log(10));
    ax.YAxis.Exponent   =   exponent;
    ax.YTick            =   linspace(ax.YLim(1),ax.YLim(2),5)';
    ax.YAxis.TickLabelFormat=     '%.2g';
    ax.YAxis.FontSize   =   12;
    ax.XAxis.FontSize   =   12;
    X_digit             =   max(-floor(log(max(abs(ax.XLim)))/log(10)),1);
    ax.XTick            =   round(linspace(ax.XLim(1),ax.XLim(2),5)',X_digit);
    ax.XGrid            =   'on';
    ax.YGrid            =   'on';
end